@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
499 lines • 62.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: transfer.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, Output, EventEmitter, ContentChild, TemplateRef } from '@angular/core';
import { TransferDirection } from './transfer.types';
import { I18nService } from '@duoduo-oba/ng-devui/i18n';
var TransferComponent = /** @class */ (function () {
function TransferComponent(i18n) {
this.i18n = i18n;
this.sourceOption = [];
this.targetOption = [];
this.titles = { source: 'source', target: 'target' };
this.height = '320px';
this.isSearch = false;
this.disabled = false;
this.isSourceDroppable = false;
this.isTargetDroppable = false;
// 自定义
this.customSourceCheckedLen = 0;
this.customTargetCheckedLen = 0;
this.transferToTarget = new EventEmitter();
this.transferToSource = new EventEmitter();
this.transferDirection = TransferDirection;
this.sourceDisplayOption = [];
this.sourceDisplayOptionLen = 0;
this.sourceCheckedLen = 0;
this.sourceHalfChecked = false;
this.sourceAllChecked = false;
this.sourceCanTransfer = false;
this.targetDisplayOption = [];
this.targetDisplayOptionLen = 0;
this.targetCheckedLen = 0;
this.targetHalfChecked = false;
this.targetAllChecked = false;
this.targetCanTransfer = false;
this.sourceSearchText = '';
this.targetSearchText = '';
this.id = TransferComponent.ID_SEED++;
this.setI18nText();
}
/**
* @return {?}
*/
TransferComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
this.sourceDisplayOption = this.sourceOption;
this.sourceDisplayOptionLen = this.sourceDisplayOption.length;
this.targetDisplayOption = this.targetOption;
this.targetDisplayOptionLen = this.targetDisplayOption.length;
};
/**
* @return {?}
*/
TransferComponent.prototype.setI18nText = /**
* @return {?}
*/
function () {
var _this = this;
this.i18nCommonText = this.i18n.getI18nText().common;
this.i18nSubscription = this.i18n.langChange().subscribe((/**
* @param {?} data
* @return {?}
*/
function (data) {
_this.i18nCommonText = data.common;
}));
};
/**
* @param {?} changes
* @return {?}
*/
TransferComponent.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
if (changes && (changes.customSourceCheckedLen || changes.customTargetCheckedLen)) {
this.targetCanTransfer = this.targetCanTransfer
|| (changes.customSourceCheckedLen && changes.customSourceCheckedLen.currentValue > 0);
this.sourceCanTransfer = this.sourceCanTransfer
|| (changes.customTargetCheckedLen && changes.customTargetCheckedLen.currentValue > 0);
}
};
/**
* @param {?} direction
* @param {?} event
* @return {?}
*/
TransferComponent.prototype.checkboxChange = /**
* @param {?} direction
* @param {?} event
* @return {?}
*/
function (direction, event) {
if (direction === TransferDirection.SOURCE) {
this.sourceDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.checked; })).length > 0 ? this.targetCanTransfer = true : this.targetCanTransfer = false;
this.listTotalCheck(direction);
}
else if (direction === TransferDirection.TARGET) {
this.targetDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.checked; })).length > 0 ? this.sourceCanTransfer = true : this.sourceCanTransfer = false;
this.listTotalCheck(direction);
}
};
/**
* @param {?} direction
* @return {?}
*/
TransferComponent.prototype.listTotalCheck = /**
* @param {?} direction
* @return {?}
*/
function (direction) {
if (direction === TransferDirection.SOURCE) {
/** @type {?} */
var sourceLen = this.sourceDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.checked; })).length;
this.sourceCheckedLen = sourceLen;
if (sourceLen === 0) {
this.sourceAllChecked = false;
this.sourceHalfChecked = false;
}
else {
if (sourceLen !== this.sourceDisplayOption.length) {
this.sourceAllChecked = false;
this.sourceHalfChecked = true;
}
else {
this.sourceAllChecked = true;
this.sourceHalfChecked = false;
}
}
}
else if (direction === TransferDirection.TARGET) {
/** @type {?} */
var rightLen = this.targetDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.checked; })).length;
this.targetCheckedLen = rightLen;
if (rightLen === 0) {
this.targetAllChecked = false;
this.targetHalfChecked = false;
}
else {
if (rightLen !== this.targetDisplayOption.length) {
this.targetAllChecked = false;
this.targetHalfChecked = true;
}
else {
this.targetAllChecked = true;
this.targetHalfChecked = false;
}
}
}
this.sourceDisplayOptionLen = this.sourceDisplayOption.length;
this.targetDisplayOptionLen = this.targetDisplayOption.length;
};
/**
* @param {?} direction
* @return {?}
*/
TransferComponent.prototype.transferTo = /**
* @param {?} direction
* @return {?}
*/
function (direction) {
var _this = this;
if (direction === TransferDirection.TARGET) {
// 对源数据更改
this.sourceDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.checked === true; })).forEach((/**
* @param {?} item
* @return {?}
*/
function (item) {
/** @type {?} */
var tmp = { name: item.name, value: item.value, id: item.id, checked: false };
_this.targetOption.push(tmp);
}));
this.sourceOption = this.sourceOption.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.checked !== true; }));
this.targetCanTransfer = false;
if (this.sourceCustomViewTemplate) {
this.transferToTarget.next();
}
else {
this.transferToSource.next({ sourceOption: this.sourceOption, targetOption: this.targetOption });
}
if (this.isSearch && this.sourceSearchText !== '') {
this.sourceSearchText = '';
}
}
else if (direction === TransferDirection.SOURCE) {
this.targetDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.checked === true; })).forEach((/**
* @param {?} item
* @return {?}
*/
function (item) {
/** @type {?} */
var tmp = { name: item.name, value: item.value, id: item.id, checked: false };
_this.sourceOption.push(tmp);
}));
this.targetOption = this.targetOption.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.checked !== true; }));
this.sourceCanTransfer = false;
if (this.targetCustomViewTemplate) {
this.transferToSource.next();
}
else {
this.transferToSource.next({ sourceOption: this.sourceOption, targetOption: this.targetOption });
}
if (this.isSearch && this.targetSearchText !== '') {
this.targetSearchText = '';
}
}
this.targetDisplayOption = this.targetOption;
this.sourceDisplayOption = this.sourceOption;
this.listTotalCheck(TransferDirection.TARGET);
this.listTotalCheck(TransferDirection.SOURCE);
};
/**
* @param {?} direction
* @param {?} event
* @return {?}
*/
TransferComponent.prototype.checkAll = /**
* @param {?} direction
* @param {?} event
* @return {?}
*/
function (direction, event) {
if (direction === TransferDirection.SOURCE) {
if (event) {
this.sourceHalfChecked = false;
this.sourceCheckedLen = this.sourceDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.disabled !== true; })).length;
}
else {
this.sourceCheckedLen = 0;
}
this.targetCanTransfer = event;
this.sourceDisplayOption.forEach((/**
* @param {?} item
* @return {?}
*/
function (item) {
if (item.checked !== event && item.disabled !== true) {
item.checked = event;
}
}));
}
else if (direction === TransferDirection.TARGET) {
if (event) {
this.targetHalfChecked = false;
this.targetCheckedLen = this.targetDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.disabled !== true; })).length;
}
else {
this.targetCheckedLen = 0;
}
this.sourceCanTransfer = event;
this.targetDisplayOption.forEach((/**
* @param {?} item
* @return {?}
*/
function (item) {
if (item.checked !== event && item.disabled !== true) {
item.checked = event;
}
}));
}
};
/**
* @param {?} direction
* @param {?} keyword
* @return {?}
*/
TransferComponent.prototype.search = /**
* @param {?} direction
* @param {?} keyword
* @return {?}
*/
function (direction, keyword) {
if (keyword !== '') {
if (direction === TransferDirection.SOURCE) {
this.sourceDisplayOption = this.sourceOption.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.name.match(keyword) !== null; }));
}
else if (direction === TransferDirection.TARGET) {
this.targetDisplayOption = this.targetOption.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.name.match(keyword) !== null; }));
}
}
else {
if (direction === TransferDirection.SOURCE) {
this.sourceDisplayOption = this.sourceOption;
}
else if (direction === TransferDirection.TARGET) {
this.targetDisplayOption = this.targetOption;
}
}
this.listTotalCheck(direction);
};
/**
* @param {?} direction
* @param {?} e
* @return {?}
*/
TransferComponent.prototype.onDrop = /**
* @param {?} direction
* @param {?} e
* @return {?}
*/
function (direction, e) {
/** @type {?} */
var index = e.dropIndex;
/** @type {?} */
var fromIndex = e.dragFromIndex;
if (-1 !== index) {
if (-1 !== fromIndex && index > fromIndex) {
index--;
}
if (direction === TransferDirection.SOURCE) {
this.sourceOption.splice(index, 0, fromIndex === -1 ? e.dragData : this.sourceOption.splice(fromIndex, 1)[0]);
this.transferToSource.next({ sourceOption: this.sourceOption, targetOption: this.targetOption });
}
else {
this.targetOption.splice(index, 0, fromIndex === -1 ? e.dragData : this.targetOption.splice(fromIndex, 1)[0]);
this.transferToTarget.next({ sourceOption: this.sourceOption, targetOption: this.targetOption });
}
}
else {
if (direction === TransferDirection.SOURCE) {
this.sourceOption.push(e.dragData);
this.transferToSource.next({ sourceOption: this.sourceOption, targetOption: this.targetOption });
}
else {
this.targetOption.push(e.dragData);
this.transferToTarget.next({ sourceOption: this.sourceOption, targetOption: this.targetOption });
}
}
};
/**
* @return {?}
*/
TransferComponent.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
if (this.i18nSubscription) {
this.i18nSubscription.unsubscribe();
}
};
TransferComponent.ID_SEED = 0;
TransferComponent.decorators = [
{ type: Component, args: [{
selector: 'd-transfer',
template: "<div class=\"container\">\r\n <div class=\"source\">\r\n <div class=\"left\">\r\n <ng-container *ngIf=\"!sourceCustomViewTemplate\">\r\n <div class=\"title\">\r\n <d-checkbox\r\n [label]=\"titles.source\"\r\n [disabled]=\"disabled || sourceDisplayOptionLen === 0\"\r\n [isShowTitle]=\"false\"\r\n (change)=\"checkAll(transferDirection.SOURCE, $event)\"\r\n [halfchecked]=\"sourceHalfChecked\"\r\n [(ngModel)]=\"sourceAllChecked\"\r\n >\r\n </d-checkbox>\r\n <span class=\"num\">{{ sourceCheckedLen }}/{{ sourceDisplayOptionLen }}</span>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"content\" [class.disabled]=\"disabled\">\r\n <div class=\"search\" *ngIf=\"isSearch\">\r\n <d-search\r\n style=\"width:100%\"\r\n [placeholder]=\"i18nCommonText?.searchPlaceholder\"\r\n [size]=\"'sm'\"\r\n [(ngModel)]=\"sourceSearchText\"\r\n (searchFn)=\"search(transferDirection.SOURCE, $event)\"\r\n ></d-search>\r\n </div>\r\n <ul\r\n [id]=\"'default-left-' + id\"\r\n dDroppable\r\n [placeholderTag]=\"'li'\"\r\n [dropScope]=\"'transfer-source-' + id\"\r\n (onDrop)=\"onDrop(transferDirection.SOURCE, $event)\"\r\n [ngStyle]=\"{ height: height }\"\r\n dSortable\r\n >\r\n <li\r\n dDraggable\r\n [enableDragFollow]=\"true\"\r\n [dragScope]=\"'transfer-source-' + id\"\r\n [dragHandle]=\"'.drag-handle'\"\r\n [dragData]=\"item\"\r\n [dragHandleClass]=\"'drag-handle'\"\r\n *ngFor=\"let item of sourceDisplayOption; let i = index\"\r\n >\r\n <span class=\"drag-ico\">\r\n <svg\r\n *ngIf=\"isSourceDroppable\"\r\n [class.disabled]=\"disabled\"\r\n class=\"drag-handle\"\r\n width=\"16px\"\r\n height=\"16px\"\r\n viewBox=\"0 0 16 16\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <g id=\"draggable-big-left\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g fill=\"#CACFD8\" fill-rule=\"nonzero\">\r\n <path\r\n d=\"M5.5,0 C6.32842712,-1.3527075e-16 7,0.596953667 7,1.33333333 C7,2.069713 6.32842712,2.66666667 5.5,2.66666667 C4.67157288,2.66666667 4,2.069713 4,1.33333333 C4,0.596953667 4.67157288,1.3527075e-16 5.5,0 Z M5.5,4.44444444 C6.32842712,4.44444444 7,5.04139811 7,5.77777778 C7,6.51415744 6.32842712,7.11111111 5.5,7.11111111 C4.67157288,7.11111111 4,6.51415744 4,5.77777778 C4,5.04139811 4.67157288,4.44444444 5.5,4.44444444 Z M5.5,8.88888889 C6.32842712,8.88888889 7,9.48584256 7,10.2222222 C7,10.9586019 6.32842712,11.5555556 5.5,11.5555556 C4.67157288,11.5555556 4,10.9586019 4,10.2222222 C4,9.48584256 4.67157288,8.88888889 5.5,8.88888889 Z M5.5,13.3333333 C6.32842712,13.3333333 7,13.930287 7,14.6666667 C7,15.4030463 6.32842712,16 5.5,16 C4.67157288,16 4,15.4030463 4,14.6666667 C4,13.930287 4.67157288,13.3333333 5.5,13.3333333 Z M10.5,0 C11.3284271,-1.3527075e-16 12,0.596953667 12,1.33333333 C12,2.069713 11.3284271,2.66666667 10.5,2.66666667 C9.67157288,2.66666667 9,2.069713 9,1.33333333 C9,0.596953667 9.67157288,1.3527075e-16 10.5,0 Z M10.5,4.44444444 C11.3284271,4.44444444 12,5.04139811 12,5.77777778 C12,6.51415744 11.3284271,7.11111111 10.5,7.11111111 C9.67157288,7.11111111 9,6.51415744 9,5.77777778 C9,5.04139811 9.67157288,4.44444444 10.5,4.44444444 Z M10.5,8.88888889 C11.3284271,8.88888889 12,9.48584256 12,10.2222222 C12,10.9586019 11.3284271,11.5555556 10.5,11.5555556 C9.67157288,11.5555556 9,10.9586019 9,10.2222222 C9,9.48584256 9.67157288,8.88888889 10.5,8.88888889 Z M10.5,13.3333333 C11.3284271,13.3333333 12,13.930287 12,14.6666667 C12,15.4030463 11.3284271,16 10.5,16 C9.67157288,16 9,15.4030463 9,14.6666667 C9,13.930287 9.67157288,13.3333333 10.5,13.3333333 Z\"\r\n ></path>\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <d-checkbox\r\n [label]=\"item['name']\"\r\n [isShowTitle]=\"false\"\r\n [(ngModel)]=\"item['checked']\"\r\n [disabled]=\"item['disabled'] || disabled\"\r\n (change)=\"checkboxChange(transferDirection.SOURCE, $event)\"\r\n >\r\n </d-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"sourceCustomViewTemplate\">\r\n <ng-template [ngTemplateOutlet]=\"sourceCustomViewTemplate\" [ngTemplateOutletContext]=\"{$implicit: this}\"></ng-template>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"option\">\r\n <div class=\"transfer-op\">\r\n <svg\r\n *ngIf=\"!sourceCanTransfer\"\r\n width=\"36px\"\r\n height=\"36px\"\r\n viewBox=\"0 0 36 36\"\r\n class=\"default-svg\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"transfer\" transform=\"translate(-942.000000, -542.000000)\">\r\n <g\r\n id=\"transfer_icon/left-default\"\r\n transform=\"translate(960.000000, 560.000000) scale(-1, 1) translate(-960.000000, -560.000000) translate(942.000000, 542.000000)\"\r\n >\r\n <circle stroke=\"\" fill=\"\" cx=\"18\" cy=\"18\" r=\"17.5\"></circle>\r\n <path\r\n d=\"M20,22.003961 C20,22.2801034 20.2238576,22.503961 20.5,22.503961 C20.7761424,22.503961 21,22.2801034 21,22.003961 L21,13.503961 L12.5,13.503961 C12.2238576,13.503961 12,13.7278187 12,14.003961 C12,14.2801034 12.2238576,14.503961 12.5,14.503961 L20,14.503961 L20,22.003961 Z\"\r\n fill=\"#CACFD8\"\r\n fill-rule=\"nonzero\"\r\n transform=\"translate(16.500000, 18.003961) rotate(-315.000000) translate(-16.500000, -18.003961) \"\r\n ></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n <svg\r\n *ngIf=\"sourceCanTransfer\"\r\n [class.disabled]=\"disabled\"\r\n (click)=\"transferTo(transferDirection.SOURCE)\"\r\n width=\"36px\"\r\n height=\"36px\"\r\n class=\"active-svg\"\r\n viewBox=\"0 0 36 36\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"transfer-right\" transform=\"translate(-942.000000, -1086.000000)\">\r\n <g id=\"transfer_icon/left-activated\" transform=\"translate(942.000000, 1086.000000)\">\r\n <circle fill=\"#5170FF\" cx=\"18\" cy=\"18\" r=\"18\"></circle>\r\n <path\r\n d=\"M23,22.003961 C23,22.2801034 23.2238576,22.503961 23.5,22.503961 C23.7761424,22.503961 24,22.2801034 24,22.003961 L24,13.503961 L15.5,13.503961 C15.2238576,13.503961 15,13.7278187 15,14.003961 C15,14.2801034 15.2238576,14.503961 15.5,14.503961 L23,14.503961 L23,22.003961 Z\"\r\n fill=\"#FFFFFF\"\r\n fill-rule=\"nonzero\"\r\n transform=\"translate(19.500000, 18.003961) scale(-1, 1) rotate(-315.000000) translate(-19.500000, -18.003961) \"\r\n ></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"transfer-op\" style=\"margin-top:10px;\">\r\n <svg\r\n width=\"36px\"\r\n *ngIf=\"!targetCanTransfer\"\r\n height=\"36px\"\r\n viewBox=\"0 0 36 36\"\r\n class=\"default-svg\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"transfer-left\" transform=\"translate(-942.000000, -1030.000000)\">\r\n <g id=\"transfer_icon/right-default\" transform=\"translate(942.000000, 1030.000000)\">\r\n <circle stroke=\"\" fill=\"\" cx=\"18\" cy=\"18\" r=\"17.5\"></circle>\r\n <path\r\n d=\"M20,22.003961 C20,22.2801034 20.2238576,22.503961 20.5,22.503961 C20.7761424,22.503961 21,22.2801034 21,22.003961 L21,13.503961 L12.5,13.503961 C12.2238576,13.503961 12,13.7278187 12,14.003961 C12,14.2801034 12.2238576,14.503961 12.5,14.503961 L20,14.503961 L20,22.003961 Z\"\r\n fill=\"#CACFD8\"\r\n fill-rule=\"nonzero\"\r\n transform=\"translate(16.500000, 18.003961) rotate(-315.000000) translate(-16.500000, -18.003961) \"\r\n ></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n <svg\r\n width=\"36px\"\r\n [class.disabled]=\"disabled\"\r\n *ngIf=\"targetCanTransfer\"\r\n (click)=\"transferTo(transferDirection.TARGET)\"\r\n height=\"36px\"\r\n viewBox=\"0 0 36 36\"\r\n version=\"1.1\"\r\n class=\"active-svg\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g id=\"transfer\" transform=\"translate(-942.000000, -486.000000)\">\r\n <g\r\n id=\"transfer_icon/right-activated\"\r\n transform=\"translate(960.000000, 504.000000) scale(-1, 1) translate(-960.000000, -504.000000) translate(942.000000, 486.000000)\"\r\n >\r\n <circle fill=\"#5170FF\" cx=\"18\" cy=\"18\" r=\"18\"></circle>\r\n <path\r\n d=\"M23,22.003961 C23,22.2801034 23.2238576,22.503961 23.5,22.503961 C23.7761424,22.503961 24,22.2801034 24,22.003961 L24,13.503961 L15.5,13.503961 C15.2238576,13.503961 15,13.7278187 15,14.003961 C15,14.2801034 15.2238576,14.503961 15.5,14.503961 L23,14.503961 L23,22.003961 Z\"\r\n fill=\"#FFFFFF\"\r\n fill-rule=\"nonzero\"\r\n transform=\"translate(19.500000, 18.003961) scale(-1, 1) rotate(-315.000000) translate(-19.500000, -18.003961) \"\r\n ></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"target\">\r\n <div class=\"right\">\r\n <ng-container *ngIf=\"!targetCustomViewTemplate\">\r\n <div class=\"title\">\r\n <d-checkbox\r\n [disabled]=\"disabled || targetDisplayOptionLen === 0\"\r\n [label]=\"titles.target\"\r\n [isShowTitle]=\"false\"\r\n (change)=\"checkAll(transferDirection.TARGET, $event)\"\r\n [halfchecked]=\"targetHalfChecked\"\r\n [(ngModel)]=\"targetAllChecked\"\r\n >\r\n </d-checkbox>\r\n <span class=\"num\">{{ targetCheckedLen }}/{{ targetDisplayOptionLen }}</span>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"content\" [class.disabled]=\"disabled\">\r\n <div class=\"search\" *ngIf=\"isSearch\" [class.disabled]=\"disabled\">\r\n <d-search\r\n style=\"width:100%\"\r\n [placeholder]=\"i18nCommonText?.searchPlaceholder\"\r\n [size]=\"'sm'\"\r\n [(ngModel)]=\"targetSearchText\"\r\n (searchFn)=\"search(transferDirection.TARGET, $event)\"\r\n ></d-search>\r\n </div>\r\n <ul\r\n dDroppable\r\n dSortable\r\n [placeholderTag]=\"'li'\"\r\n [dropScope]=\"'transfer-target-' + id\"\r\n (onDrop)=\"onDrop(transferDirection.TARGET, $event)\"\r\n [ngStyle]=\"{ height: height }\"\r\n >\r\n <li\r\n dDraggable\r\n [enableDragFollow]=\"true\"\r\n [dragScope]=\"'transfer-target-' + id\"\r\n [dragHandle]=\"'.drag-handle'\"\r\n [dragData]=\"item\"\r\n [dragHandleClass]=\"'drag-handle'\"\r\n *ngFor=\"let item of targetDisplayOption; let i = index\"\r\n >\r\n <span class=\"drag-ico\">\r\n <svg\r\n *ngIf=\"isTargetDroppable\"\r\n [class.disabled]=\"disabled\"\r\n class=\"drag-handle\"\r\n width=\"16px\"\r\n height=\"16px\"\r\n viewBox=\"0 0 16 16\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <g id=\"draggable-big-right\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <g fill=\"#CACFD8\" fill-rule=\"nonzero\">\r\n <path\r\n d=\"M5.5,0 C6.32842712,-1.3527075e-16 7,0.596953667 7,1.33333333 C7,2.069713 6.32842712,2.66666667 5.5,2.66666667 C4.67157288,2.66666667 4,2.069713 4,1.33333333 C4,0.596953667 4.67157288,1.3527075e-16 5.5,0 Z M5.5,4.44444444 C6.32842712,4.44444444 7,5.04139811 7,5.77777778 C7,6.51415744 6.32842712,7.11111111 5.5,7.11111111 C4.67157288,7.11111111 4,6.51415744 4,5.77777778 C4,5.04139811 4.67157288,4.44444444 5.5,4.44444444 Z M5.5,8.88888889 C6.32842712,8.88888889 7,9.48584256 7,10.2222222 C7,10.9586019 6.32842712,11.5555556 5.5,11.5555556 C4.67157288,11.5555556 4,10.9586019 4,10.2222222 C4,9.48584256 4.67157288,8.88888889 5.5,8.88888889 Z M5.5,13.3333333 C6.32842712,13.3333333 7,13.930287 7,14.6666667 C7,15.4030463 6.32842712,16 5.5,16 C4.67157288,16 4,15.4030463 4,14.6666667 C4,13.930287 4.67157288,13.3333333 5.5,13.3333333 Z M10.5,0 C11.3284271,-1.3527075e-16 12,0.596953667 12,1.33333333 C12,2.069713 11.3284271,2.66666667 10.5,2.66666667 C9.67157288,2.66666667 9,2.069713 9,1.33333333 C9,0.596953667 9.67157288,1.3527075e-16 10.5,0 Z M10.5,4.44444444 C11.3284271,4.44444444 12,5.04139811 12,5.77777778 C12,6.51415744 11.3284271,7.11111111 10.5,7.11111111 C9.67157288,7.11111111 9,6.51415744 9,5.77777778 C9,5.04139811 9.67157288,4.44444444 10.5,4.44444444 Z M10.5,8.88888889 C11.3284271,8.88888889 12,9.48584256 12,10.2222222 C12,10.9586019 11.3284271,11.5555556 10.5,11.5555556 C9.67157288,11.5555556 9,10.9586019 9,10.2222222 C9,9.48584256 9.67157288,8.88888889 10.5,8.88888889 Z M10.5,13.3333333 C11.3284271,13.3333333 12,13.930287 12,14.6666667 C12,15.4030463 11.3284271,16 10.5,16 C9.67157288,16 9,15.4030463 9,14.6666667 C9,13.930287 9.67157288,13.3333333 10.5,13.3333333 Z\"\r\n ></path>\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <d-checkbox\r\n [label]=\"item['name']\"\r\n [isShowTitle]=\"false\"\r\n [(ngModel)]=\"item['checked']\"\r\n [disabled]=\"item['disabled'] || disabled\"\r\n (change)=\"checkboxChange(transferDirection.TARGET, $event)\"\r\n >\r\n </d-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"targetCustomViewTemplate\">\r\n <ng-template [ngTemplateOutlet]=\"targetCustomViewTemplate\" [ngTemplateOutletContext]=\"{$implicit: this}\"></ng-template>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n",
styles: [".container{width:100%;display:-webkit-box;display:flex;flex-wrap:warp;-webkit-box-pack:center;justify-content:center;-moz-justfy-center:center;-ms-justify-center:center;-o-justfy-cneter:center;-webkit-box-align:center;align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center}.source,.target{width:48%;border:1px solid #adb0b8}.option{padding:0 10px}.search{margin:0 15px 10px 20px}.num{-webkit-box-flex:1;flex:1;text-align:right;-ms-grid-row-align:center;align-self:center;-webkit-align-self:center;-moz-align-self:center;-ms-align-self:center;-o-align-self:center;font-size:12px;color:#575d6c;margin-right:10px}.disabled{opacity:.3;cursor:not-allowed}.transfer-op .default-svg circle{fill:#fff;stroke:#e3e5e9}.transfer-op .active-svg circle{fill:#5e7ce0}.content ul{overflow:auto}.content li{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;height:36px;line-height:36px}.content li:hover svg{display:inline-block;cursor:move}.content li .drag-ico{display:inline-block;width:16px;height:16px;line-height:16px;margin-right:5px}.content li svg{display:none}.content li .drag-handle{width:16px;height:16px}.title{display:-webkit-box;display:flex;height:40px;line-height:40px;-webkit-box-align:center;align-items:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;margin-left:20px}.line{height:1px;background:#dfe1e6;margin-bottom:10px}.option-btn{display:inline-block}"]
}] }
];
/** @nocollapse */
TransferComponent.ctorParameters = function () { return [
{ type: I18nService }
]; };
TransferComponent.propDecorators = {
sourceOption: [{ type: Input }],
targetOption: [{ type: Input }],
titles: [{ type: Input }],
height: [{ type: Input }],
isSearch: [{ type: Input }],
disabled: [{ type: Input }],
isSourceDroppable: [{ type: Input }],
isTargetDroppable: [{ type: Input }],
customSourceCheckedLen: [{ type: Input }],
customTargetCheckedLen: [{ type: Input }],
sourceCustomViewTemplate: [{ type: ContentChild, args: ['sourceTemplate', { static: false },] }],
targetCustomViewTemplate: [{ type: ContentChild, args: ['targetTemplate', { static: false },] }],
transferToTarget: [{ type: Output }],
transferToSource: [{ type: Output }]
};
return TransferComponent;
}());
export { TransferComponent };
if (false) {
/** @type {?} */
TransferComponent.ID_SEED;
/** @type {?} */
TransferComponent.prototype.id;
/** @type {?} */
TransferComponent.prototype.sourceOption;
/** @type {?} */
TransferComponent.prototype.targetOption;
/** @type {?} */
TransferComponent.prototype.titles;
/** @type {?} */
TransferComponent.prototype.height;
/** @type {?} */
TransferComponent.prototype.isSearch;
/** @type {?} */
TransferComponent.prototype.disabled;
/** @type {?} */
TransferComponent.prototype.isSourceDroppable;
/** @type {?} */
TransferComponent.prototype.isTargetDroppable;
/** @type {?} */
TransferComponent.prototype.customSourceCheckedLen;
/** @type {?} */
TransferComponent.prototype.customTargetCheckedLen;
/** @type {?} */
TransferComponent.prototype.sourceCustomViewTemplate;
/** @type {?} */
TransferComponent.prototype.targetCustomViewTemplate;
/** @type {?} */
TransferComponent.prototype.transferToTarget;
/** @type {?} */
TransferComponent.prototype.transferToSource;
/** @type {?} */
TransferComponent.prototype.transferDirection;
/** @type {?} */
TransferComponent.prototype.sourceDisplayOption;
/** @type {?} */
TransferComponent.prototype.sourceDisplayOptionLen;
/** @type {?} */
TransferComponent.prototype.sourceCheckedLen;
/** @type {?} */
TransferComponent.prototype.sourceHalfChecked;
/** @type {?} */
TransferComponent.prototype.sourceAllChecked;
/** @type {?} */
TransferComponent.prototype.sourceCanTransfer;
/** @type {?} */
TransferComponent.prototype.targetDisplayOption;
/** @type {?} */
TransferComponent.prototype.targetDisplayOptionLen;
/** @type {?} */
TransferComponent.prototype.targetCheckedLen;
/** @type {?} */
TransferComponent.prototype.targetHalfChecked;
/** @type {?} */
TransferComponent.prototype.targetAllChecked;
/** @type {?} */
TransferComponent.prototype.targetCanTransfer;
/** @type {?} */
TransferComponent.prototype.sourceSearchText;
/** @type {?} */
TransferComponent.prototype.targetSearchText;
/** @type {?} */
TransferComponent.prototype.i18nCommonText;
/** @type {?} */
TransferComponent.prototype.i18nSubscription;
/**
* @type {?}
* @private
*/
TransferComponent.prototype.i18n;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvdHJhbnNmZXIvIiwic291cmNlcyI6WyJ0cmFuc2Zlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUlaLFlBQVksRUFDWixXQUFXLEVBRVosTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFzQixNQUFNLGtCQUFrQixDQUFDO0FBQ3pFLE9BQU8sRUFBaUIsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNEO0lBZ0RFLDJCQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBeEM1QixpQkFBWSxHQUE4QixFQUFFLENBQUM7UUFDN0MsaUJBQVksR0FBOEIsRUFBRSxDQUFDO1FBQzdDLFdBQU0sR0FBRyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ2hELFdBQU0sR0FBRyxPQUFPLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7O1FBRzFCLDJCQUFzQixHQUFHLENBQUMsQ0FBQztRQUMzQiwyQkFBc0IsR0FBRyxDQUFDLENBQUM7UUFJMUIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWhELHNCQUFpQixHQUFRLGlCQUFpQixDQUFDO1FBRTNDLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN6QiwyQkFBc0IsR0FBRyxDQUFDLENBQUM7UUFDM0IscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLHNCQUFpQixHQUFHLEtB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bkMsOENBQW1DOztJQUduQyxtREFBb0M7O0lBQ3BDLG1EQUFvQzs7SUFDcEMscURBQThGOztJQUM5RixxREFBOEY7O0lBRTlGLDZDQUFnRDs7SUFDaEQsNkNBQWdEOztJQUVoRCw4Q0FBMkM7O0lBRTNDLGdEQUF5Qjs7SUFDekIsbURBQTJCOztJQUMzQiw2Q0FBcUI7O0lBQ3JCLDhDQUEwQjs7SUFDMUIsNkNBQXlCOztJQUN6Qiw4Q0FBMEI7O0lBRTFCLGdEQUF5Qjs7SUFDekIsbURBQTJCOztJQUMzQiw2Q0FBcUI7O0lBQ3JCLDhDQUEwQjs7SUFDMUIsNkNBQXlCOztJQUN6Qiw4Q0FBMEI7O0lBRTFCLDZDQUFzQjs7SUFDdEIsNkNBQXNCOztJQUV0QiwyQ0FBd0M7O0lBQ3hDLDZDQUErQjs7Ozs7SUFFbkIsaUNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIE9uRGVzdHJveVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhbnNmZXJEaXJlY3Rpb24sIFRyYW5zZmVyRGF0YUZvcm1hdCB9IGZyb20gJy4vdHJhbnNmZXIudHlwZXMnO1xyXG5pbXBvcnQgeyBJMThuSW50ZXJmYWNlLCBJMThuU2VydmljZSB9IGZyb20gJ25