@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
457 lines • 61 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';
export class TransferComponent {
/**
* @param {?} i18n
*/
constructor(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 {?}
*/
ngOnInit() {
this.sourceDisplayOption = this.sourceOption;
this.sourceDisplayOptionLen = this.sourceDisplayOption.length;
this.targetDisplayOption = this.targetOption;
this.targetDisplayOptionLen = this.targetDisplayOption.length;
}
/**
* @return {?}
*/
setI18nText() {
this.i18nCommonText = this.i18n.getI18nText().common;
this.i18nSubscription = this.i18n.langChange().subscribe((/**
* @param {?} data
* @return {?}
*/
(data) => {
this.i18nCommonText = data.common;
}));
}
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(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 {?}
*/
checkboxChange(direction, event) {
if (direction === TransferDirection.SOURCE) {
this.sourceDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
item => item.checked)).length > 0 ? this.targetCanTransfer = true : this.targetCanTransfer = false;
this.listTotalCheck(direction);
}
else if (direction === TransferDirection.TARGET) {
this.targetDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
item => item.checked)).length > 0 ? this.sourceCanTransfer = true : this.sourceCanTransfer = false;
this.listTotalCheck(direction);
}
}
/**
* @param {?} direction
* @return {?}
*/
listTotalCheck(direction) {
if (direction === TransferDirection.SOURCE) {
/** @type {?} */
const sourceLen = this.sourceDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
item => 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 {?} */
const rightLen = this.targetDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
item => 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 {?}
*/
transferTo(direction) {
if (direction === TransferDirection.TARGET) {
// 对源数据更改
this.sourceDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
item => item.checked === true)).forEach((/**
* @param {?} item
* @return {?}
*/
item => {
/** @type {?} */
const tmp = { name: item.name, value: item.value, id: item.id, checked: false };
this.targetOption.push(tmp);
}));
this.sourceOption = this.sourceOption.filter((/**
* @param {?} item
* @return {?}
*/
item => 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 {?}
*/
item => item.checked === true)).forEach((/**
* @param {?} item
* @return {?}
*/
item => {
/** @type {?} */
const tmp = { name: item.name, value: item.value, id: item.id, checked: false };
this.sourceOption.push(tmp);
}));
this.targetOption = this.targetOption.filter((/**
* @param {?} item
* @return {?}
*/
item => 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 {?}
*/
checkAll(direction, event) {
if (direction === TransferDirection.SOURCE) {
if (event) {
this.sourceHalfChecked = false;
this.sourceCheckedLen = this.sourceDisplayOption.filter((/**
* @param {?} item
* @return {?}
*/
item => item.disabled !== true)).length;
}
else {
this.sourceCheckedLen = 0;
}
this.targetCanTransfer = event;
this.sourceDisplayOption.forEach((/**
* @param {?} item
* @return {?}
*/
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 {?}
*/
item => item.disabled !== true)).length;
}
else {
this.targetCheckedLen = 0;
}
this.sourceCanTransfer = event;
this.targetDisplayOption.forEach((/**
* @param {?} item
* @return {?}
*/
item => {
if (item.checked !== event && item.disabled !== true) {
item.checked = event;
}
}));
}
}
/**
* @param {?} direction
* @param {?} keyword
* @return {?}
*/
search(direction, keyword) {
if (keyword !== '') {
if (direction === TransferDirection.SOURCE) {
this.sourceDisplayOption = this.sourceOption.filter((/**
* @param {?} item
* @return {?}
*/
item => item.name.match(keyword) !== null));
}
else if (direction === TransferDirection.TARGET) {
this.targetDisplayOption = this.targetOption.filter((/**
* @param {?} item
* @return {?}
*/
item => 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 {?}
*/
onDrop(direction, e) {
/** @type {?} */
let index = e.dropIndex;
/** @type {?} */
const 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 {?}
*/
ngOnDestroy() {
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 = () => [
{ 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 }]
};
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvdHJhbnNmZXIvIiwic291cmNlcyI6WyJ0cmFuc2Zlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUlaLFlBQVksRUFDWixXQUFXLEVBRVosTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFzQixNQUFNLGtCQUFrQixDQUFDO0FBQ3pFLE9BQU8sRUFBaUIsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTzNELE1BQU0sT0FBTyxpQkFBaUI7Ozs7SUEyQzVCLFlBQW9CLElBQWlCO1FBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7UUF4QzVCLGlCQUFZLEdBQThCLEVBQUUsQ0FBQztRQUM3QyxpQkFBWSxHQUE4QixFQUFFLENBQUM7UUFDN0MsV0FBTSxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDaEQsV0FBTSxHQUFHLE9BQU8sQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLHNCQUFpQixHQUFHLEtBQUssQ0FBQzs7UUFHMUIsMkJBQXNCLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLDJCQUFzQixHQUFHLENBQUMsQ0FBQztRQUkxQixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsc0JBQWlCLEdBQVEsaUJBQWlCLENBQUM7UUFFM0Msd0JBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLDJCQUFzQixHQUFHLENBQUMsQ0FBQztRQUMzQixxQkFBZ0IsR0FBRyxDQUFDLENBQUM7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MEI7O0lBQzFCLDZDQUF5Qjs7SUFDekIsOENBQTBCOztJQUUxQiw2Q0FBc0I7O0lBQ3RCLDZDQUFzQjs7SUFFdEIsMkNBQXdDOztJQUN4Qyw2Q0FBK0I7Ozs7O0lBRW5CLGlDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRyYW5zZmVyRGlyZWN0aW9uLCBUcmFuc2ZlckRhdGFGb3JtYXQgfSBmcm9tICcuL3RyYW5zZmVyLnR5cGVzJztcclxuaW1wb3J0IHsgSTE4bkludGVyZmFjZSwgSTE4blNlcnZpY2UgfSBmcm9tICduZy1kZXZ1aS9pMThuJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZC10cmFuc2ZlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RyYW5zZmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90cmFuc2Zlci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBzdGF0aWMgSURfU0VFRCA9IDA7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBASW5wdXQoKSBzb3VyY2VPcHRpb246IEFycmF5PFRyYW5zZmVyRGF0YUZvcm1hdD4gPSBbXTtcclxuICBASW5wdXQoKSB0YXJnZXRPcHRpb246IEFycmF5PFRyYW5zZmVyRGF0YUZvcm1hdD4gPSBbXTtcclxuICBASW5wdXQoKSB0aXRsZXMgPSB7IHNvdXJjZTogJ3NvdXJjZScsIHRhcmdldDogJ3RhcmdldCcgfTtcclxuICBASW5wdXQoKSBoZWlnaHQgPSAnMzIwcHgnO1xyXG4gIEBJbnB1dCgpIGlzU2VhcmNoID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1NvdXJjZURyb3BwYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzVGFyZ2V0RHJvcHBhYmxlID0gZmFsc2U7XHJcblxyXG4gIC8vIOiHquWumuS5iVxyXG4gIEBJbnB1dCgpIGN1c3RvbVNvdXJjZUNoZWNrZWRMZW4gPSAwO1xyXG4gIEBJbnB1dCgpIGN1c3RvbVRhcmdldENoZWNrZWRMZW4gPSAwO1xyXG4gIEBDb250ZW50Q2hpbGQoJ3NvdXJjZVRlbXBsYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pIHNvdXJjZUN1c3RvbVZpZXdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAQ29udGVudENoaWxkKCd0YXJnZXRUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KSB0YXJnZXRDdXN0b21WaWV3VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBPdXRwdXQoKSB0cmFuc2ZlclRvVGFyZ2V0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB0cmFuc2ZlclRvU291cmNlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICB0cmFuc2ZlckRpcmVjdGlvbjogYW55ID0gVHJhbnNmZXJEaXJlY3Rpb247XHJcblxyXG4gIHNvdXJjZURpc3BsYXlPcHRpb24gPSBbXTtcclxuICBzb3VyY2VEaXNwbGF5T3B0aW9uTGVuID0gMDtcclxuICBzb3VyY2VDaGVja2VkTGVuID0gMDtcclxuICBzb3VyY2VIYWxmQ2hlY2tlZCA9IGZhbHNlO1xyXG4gIHNvdXJjZUFsbENoZWNrZWQgPSBmYWxzZTtcclxuICBzb3VyY2VDYW5UcmFuc2ZlciA9IGZhbHNlO1xyXG5cclxuICB0YXJnZXREaXNwbGF5T3B0aW9uID0gW107XHJcbiAgdGFyZ2V0RGlzcGxheU9wdGlvbkxlbiA9IDA7XHJcbiAgdGFyZ2V0Q2hlY2tlZExlbiA9IDA7XHJcbiAgdGFyZ2V0SGFsZkNoZWNrZWQgPSBmYWxzZTtcclxuICB0YXJnZXRBbGxDaG