UNPKG

@kre-form/ionic

Version:

192 lines 14.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input } from "@angular/core"; import { ModalController } from "@ionic/angular"; import * as _ from "lodash"; var KreFormFieldIonSelectComponent = /** @class */ (function () { function KreFormFieldIonSelectComponent(modalController) { this.modalController = modalController; this.isAllChecked = false; // 缓存-当前选中 this.selectedNum = 0; // 可选项 this.selectType = "multiple"; //single } Object.defineProperty(KreFormFieldIonSelectComponent.prototype, "options", { get: //single /** * @return {?} */ function () { return this._options; }, set: /** * @param {?} value * @return {?} */ function (value) { this._options = _.cloneDeep(value); this._options_old = value; }, enumerable: true, configurable: true }); //全选 //全选 /** * @param {?} e * @return {?} */ KreFormFieldIonSelectComponent.prototype.checkAll = //全选 /** * @param {?} e * @return {?} */ function (e) { if (this.isAllChecked == true) { this.options.forEach((/** * @param {?} e * @return {?} */ function (e) { e.checked = true; })); } else { // 全选后取消某一项不清空选中效果判断 if (this.selectedNum === this.options.length) { this.options.forEach((/** * @param {?} e * @return {?} */ function (e) { e.checked = false; })); } } this.setSelectNum(); }; //筛选选中 //筛选选中 /** * @return {?} */ KreFormFieldIonSelectComponent.prototype.setSelectNum = //筛选选中 /** * @return {?} */ function () { this.selectedNum = this.options.filter((/** * @param {?} item * @return {?} */ function (item) { return item.checked; })).length; this.isAllChecked = this.options.length > 0 && this.selectedNum === this.options.length; }; /** * @param {?} value * @return {?} */ KreFormFieldIonSelectComponent.prototype.singleCheck = /** * @param {?} value * @return {?} */ function (value) { this.options.map((/** * @param {?} element * @return {?} */ function (element) { element.checked = element.value === value; return element; })); }; // 0 取消 / 1 确定 // 0 取消 / 1 确定 /** * @param {?} type * @return {?} */ KreFormFieldIonSelectComponent.prototype.dismissModel = // 0 取消 / 1 确定 /** * @param {?} type * @return {?} */ function (type) { /** @type {?} */ var selectOptions = []; if (type) { selectOptions = this.options .filter((/** * @param {?} item * @return {?} */ function (item) { return item.checked; })) .map((/** * @param {?} item * @return {?} */ function (item) { return { label: item.label, value: item.value }; })); this.modalController.dismiss(selectOptions); } else { this.modalController.dismiss(); } }; /** * @return {?} */ KreFormFieldIonSelectComponent.prototype.ngOnInit = /** * @return {?} */ function () { }; /** * @return {?} */ KreFormFieldIonSelectComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { }; KreFormFieldIonSelectComponent.decorators = [ { type: Component, args: [{ selector: "kreform-field-ion-select", template: "\n <div class=\"multi\">\n <div class=\"multi_head\">\n <ng-container *ngIf=\"selectType == 'multiple'; else other\">\n <ion-item>\n <ion-checkbox\n [(ngModel)]=\"isAllChecked\"\n (ionChange)=\"checkAll($event)\"\n ></ion-checkbox>\n <ion-label>\n \u5168\u9009\n <span>\uFF08{{ selectedNum }}/{{ options.length }}\uFF09</span></ion-label\n >\n </ion-item>\n <div>\n <ion-button size=\"small\" fill=\"clear\" (click)=\"dismissModel(false)\"\n >\u53D6\u6D88</ion-button\n >\n <ion-button size=\"small\" fill=\"clear\" (click)=\"dismissModel(true)\"\n >\u786E\u5B9A</ion-button\n >\n </div>\n </ng-container>\n <ng-template #other>\n <ion-button size=\"small\" fill=\"clear\" (click)=\"dismissModel(false)\"\n >\u53D6\u6D88</ion-button\n >\n <ion-button size=\"small\" fill=\"clear\" (click)=\"dismissModel(true)\"\n >\u786E\u5B9A</ion-button\n >\n </ng-template>\n </div>\n <div class=\"multi_scroll\">\n <ion-item\n class=\"multi_scroll_item hairlines-bottom\"\n *ngFor=\"let row of options\"\n (click)=\"selectType == 'single' ? singleCheck(row.value) : ''\"\n >\n <ion-checkbox\n [(ngModel)]=\"row.checked\"\n (ionChange)=\"selectType == 'multiple' ? setSelectNum() : ''\"\n ></ion-checkbox>\n <ion-label>{{ row.label }}</ion-label>\n </ion-item>\n </div>\n </div>\n " }] } ]; /** @nocollapse */ KreFormFieldIonSelectComponent.ctorParameters = function () { return [ { type: ModalController } ]; }; KreFormFieldIonSelectComponent.propDecorators = { selectType: [{ type: Input }], options: [{ type: Input }] }; return KreFormFieldIonSelectComponent; }()); export { KreFormFieldIonSelectComponent }; if (false) { /** @type {?} */ KreFormFieldIonSelectComponent.prototype.isAllChecked; /** @type {?} */ KreFormFieldIonSelectComponent.prototype.selectedNum; /** @type {?} */ KreFormFieldIonSelectComponent.prototype._options; /** @type {?} */ KreFormFieldIonSelectComponent.prototype._options_old; /** @type {?} */ KreFormFieldIonSelectComponent.prototype.selectType; /** @type {?} */ KreFormFieldIonSelectComponent.prototype.modalController; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0X2NvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BrcmUtZm9ybS9pb25pYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3NlbGVjdF9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUI7SUFvRUUsd0NBQW1CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQWpCbkQsaUJBQVksR0FBRyxLQUFLLENBQUM7O1FBRXJCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDOztRQUlQLGVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxRQUFRO0lBV1ksQ0FBQztJQVR2RCxzQkFDVyxtREFBTzs7Ozs7O1FBRGxCO1lBRUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7Ozs7O1FBQ0QsVUFBbUIsS0FBVTtZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDNUIsQ0FBQzs7O09BSkE7SUFRRCxJQUFJOzs7Ozs7SUFDSixpREFBUTs7Ozs7O0lBQVIsVUFBUyxDQUFNO1FBQ2IsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87Ozs7WUFBQyxVQUFDLENBQUM7Z0JBQ3JCLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ25CLENBQUMsRUFBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLG9CQUFvQjtZQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTzs7OztnQkFBQyxVQUFDLENBQUM7b0JBQ3JCLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixDQUFDLEVBQUMsQ0FBQzthQUNKO1NBQ0Y7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU07Ozs7O0lBQ04scURBQVk7Ozs7O0lBQVo7UUFDRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTs7OztRQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsSUFBSSxDQUFDLE9BQU8sRUFBWixDQUFZLEVBQUMsQ0FBQyxNQUFNLENBQUM7UUFDdEUsSUFBSSxDQUFDLFlBQVk7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUN4RSxDQUFDOzs7OztJQUVELG9EQUFXOzs7O0lBQVgsVUFBWSxLQUFLO1FBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHOzs7O1FBQUMsVUFBQyxPQUFPO1lBQ3ZCLE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUM7WUFDMUMsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYzs7Ozs7O0lBQ2QscURBQVk7Ozs7OztJQUFaLFVBQWEsSUFBSTs7WUFDWCxhQUFhLEdBQUcsRUFBRTtRQUN0QixJQUFJLElBQUksRUFBRTtZQUNSLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTztpQkFDekIsTUFBTTs7OztZQUFDLFVBQUMsSUFBSTtnQkFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDdEIsQ0FBQyxFQUFDO2lCQUNELEdBQUc7Ozs7WUFBQyxVQUFDLElBQUk7Z0JBQ1IsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEQsQ0FBQyxFQUFDLENBQUM7WUFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM3QzthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQztJQUNILENBQUM7Ozs7SUFFRCxpREFBUTs7O0lBQVIsY0FBWSxDQUFDOzs7O0lBRWIsd0RBQWU7OztJQUFmLGNBQW1CLENBQUM7O2dCQXpIckIsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxrcERBOENUO2lCQUNGOzs7O2dCQW5EUSxlQUFlOzs7NkJBMkRyQixLQUFLOzBCQUVMLEtBQUs7O0lBK0RSLHFDQUFDO0NBQUEsQUExSEQsSUEwSEM7U0F4RVksOEJBQThCOzs7SUFDekMsc0RBQXFCOztJQUVyQixxREFBZ0I7O0lBQ2hCLGtEQUFjOztJQUNkLHNEQUFrQjs7SUFFbEIsb0RBQWlDOztJQVdyQix5REFBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIEFmdGVyVmlld0luaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSBcIkBpb25pYy9hbmd1bGFyXCI7XG5pbXBvcnQgKiBhcyBfIGZyb20gXCJsb2Rhc2hcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJrcmVmb3JtLWZpZWxkLWlvbi1zZWxlY3RcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwibXVsdGlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdWx0aV9oZWFkXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RUeXBlID09ICdtdWx0aXBsZSc7IGVsc2Ugb3RoZXJcIj5cbiAgICAgICAgICA8aW9uLWl0ZW0+XG4gICAgICAgICAgICA8aW9uLWNoZWNrYm94XG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXNBbGxDaGVja2VkXCJcbiAgICAgICAgICAgICAgKGlvbkNoYW5nZSk9XCJjaGVja0FsbCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2lvbi1jaGVja2JveD5cbiAgICAgICAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgICAgICAgIOWFqOmAiVxuICAgICAgICAgICAgICA8c3Bhbj7vvIh7eyBzZWxlY3RlZE51bSB9fS97eyBvcHRpb25zLmxlbmd0aCB9fe+8iTwvc3Bhbj48L2lvbi1sYWJlbFxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIHNpemU9XCJzbWFsbFwiIGZpbGw9XCJjbGVhclwiIChjbGljayk9XCJkaXNtaXNzTW9kZWwoZmFsc2UpXCJcbiAgICAgICAgICAgICAgPuWPlua2iDwvaW9uLWJ1dHRvblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgZmlsbD1cImNsZWFyXCIgKGNsaWNrKT1cImRpc21pc3NNb2RlbCh0cnVlKVwiXG4gICAgICAgICAgICAgID7noa7lrpo8L2lvbi1idXR0b25cbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjb3RoZXI+XG4gICAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgZmlsbD1cImNsZWFyXCIgKGNsaWNrKT1cImRpc21pc3NNb2RlbChmYWxzZSlcIlxuICAgICAgICAgICAgPuWPlua2iDwvaW9uLWJ1dHRvblxuICAgICAgICAgID5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBzaXplPVwic21hbGxcIiBmaWxsPVwiY2xlYXJcIiAoY2xpY2spPVwiZGlzbWlzc01vZGVsKHRydWUpXCJcbiAgICAgICAgICAgID7noa7lrpo8L2lvbi1idXR0b25cbiAgICAgICAgICA+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdWx0aV9zY3JvbGxcIj5cbiAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgY2xhc3M9XCJtdWx0aV9zY3JvbGxfaXRlbSBoYWlybGluZXMtYm90dG9tXCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgcm93IG9mIG9wdGlvbnNcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RUeXBlID09ICdzaW5nbGUnID8gc2luZ2xlQ2hlY2socm93LnZhbHVlKSA6ICcnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpb24tY2hlY2tib3hcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicm93LmNoZWNrZWRcIlxuICAgICAgICAgICAgKGlvbkNoYW5nZSk9XCJzZWxlY3RUeXBlID09ICdtdWx0aXBsZScgPyBzZXRTZWxlY3ROdW0oKSA6ICcnXCJcbiAgICAgICAgICA+PC9pb24tY2hlY2tib3g+XG4gICAgICAgICAgPGlvbi1sYWJlbD57eyByb3cubGFiZWwgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24taXRlbT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBLcmVGb3JtRmllbGRJb25TZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBpc0FsbENoZWNrZWQgPSBmYWxzZTtcbiAgLy8g57yT5a2YLeW9k+WJjemAieS4rVxuICBzZWxlY3RlZE51bSA9IDA7XG4gIF9vcHRpb25zOiBhbnk7IC8vIOWPr+mAiemhuVxuICBfb3B0aW9uc19vbGQ6IGFueTsgLy8g5Y+v6YCJ6aG5XG5cbiAgQElucHV0KCkgc2VsZWN0VHlwZSA9IFwibXVsdGlwbGVcIjsgLy9zaW5nbGVcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IG9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuICBwdWJsaWMgc2V0IG9wdGlvbnModmFsdWU6IGFueSkge1xuICAgIHRoaXMuX29wdGlvbnMgPSBfLmNsb25lRGVlcCh2YWx1ZSk7XG4gICAgdGhpcy5fb3B0aW9uc19vbGQgPSB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcikge31cblxuICAvL+WFqOmAiVxuICBjaGVja0FsbChlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5pc0FsbENoZWNrZWQgPT0gdHJ1ZSkge1xuICAgICAgdGhpcy5vcHRpb25zLmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgZS5jaGVja2VkID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyDlhajpgInlkI7lj5bmtojmn5DkuIDpobnkuI3muIXnqbrpgInkuK3mlYjmnpzliKTmlq1cbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkTnVtID09PSB0aGlzLm9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgICAgZS5jaGVja2VkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0U2VsZWN0TnVtKCk7XG4gIH1cblxuICAvL+etm+mAiemAieS4rVxuICBzZXRTZWxlY3ROdW0oKSB7XG4gICAgdGhpcy5zZWxlY3RlZE51bSA9IHRoaXMub3B0aW9ucy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY2hlY2tlZCkubGVuZ3RoO1xuICAgIHRoaXMuaXNBbGxDaGVja2VkID1cbiAgICAgIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwICYmIHRoaXMuc2VsZWN0ZWROdW0gPT09IHRoaXMub3B0aW9ucy5sZW5ndGg7XG4gIH1cblxuICBzaW5nbGVDaGVjayh2YWx1ZSkge1xuICAgIHRoaXMub3B0aW9ucy5tYXAoKGVsZW1lbnQpID0+IHtcbiAgICAgIGVsZW1lbnQuY2hlY2tlZCA9IGVsZW1lbnQudmFsdWUgPT09IHZhbHVlO1xuICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgfSk7XG4gIH1cblxuICAvLyAwIOWPlua2iCAvIDEg56Gu5a6aXG4gIGRpc21pc3NNb2RlbCh0eXBlKSB7XG4gICAgbGV0IHNlbGVjdE9wdGlvbnMgPSBbXTtcbiAgICBpZiAodHlwZSkge1xuICAgICAgc2VsZWN0T3B0aW9ucyA9IHRoaXMub3B0aW9uc1xuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW0uY2hlY2tlZDtcbiAgICAgICAgfSlcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7IGxhYmVsOiBpdGVtLmxhYmVsLCB2YWx1ZTogaXRlbS52YWx1ZSB9O1xuICAgICAgICB9KTtcbiAgICAgIHRoaXMubW9kYWxDb250cm9sbGVyLmRpc21pc3Moc2VsZWN0T3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kYWxDb250cm9sbGVyLmRpc21pc3MoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge31cbn1cbiJdfQ==