import { __decorate } from "tslib";
import { Util, CodeListServiceBase, ViewTool, ModelTool } from '@ibizstudio/runtime';
import { MDControlBase } from './md-control-base';
import { AppGanttService } from '../ctrl-service';
import { UIServiceRegister } from '@ibizstudio/runtime';
import { Watch } from '../decorators';
export class GanttControlBase extends MDControlBase {
    constructor() {
        super(...arguments);
        /**
         * 语言
         *
         * @public
         * @type {string}
         * @memberof GanttControlBase
         */
        this.locale = 'zh-CN';
        /**
        * 语言资源 - zh-cn
        *
        * @public
        * @type {*}
        * @memberof GanttControlBase
        */
        this.localeZH = {
            weekdays: ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'],
            months: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
            Now: "现在",
            "X-Scale": "时间颗粒度",
            "Display task list": "显示列表",
            "Before/After": "数据范围"
        };
        /**
         * 语言资源 - en-us
         *
         * @public
         * @type {*}
         * @memberof GanttControlBase
         */
        this.localeEN = {
            weekdays: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
            months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
            Now: "Now",
            "X-Scale": "X-Scale",
            "Display task list": "Display task list",
            "Before/After": "Before/After"
        };
        /**
         * 配置参数
         *
         * @public
         * @type {any[]}
         * @memberof GanttControlBase
         */
        this.options = {
            isflex: true,
            maxRows: 1000,
            dataType: 'treegrid',
            title: {
                label: ""
            },
            header: {
                yScole: false,
                taskListWidth: false,
            },
            calendar: {
                hour: {
                    display: false
                }
            },
            chart: {
                progress: {
                    bar: false
                },
                expander: {
                    display: true
                },
            },
            taskList: {
                expander: {
                    straight: false
                },
                labelField: 'text',
                columns: []
            }
        };
        /**
         * 样式
         *
         * @public
         * @type {any[]}
         * @memberof GanttControlBase
         */
        this.dynamicStyle = {};
        /**
         * 日程事件集合
         *
         * @public
         * @type {any[]}
         * @memberof GanttControlBase
         */
        this.tasks = [];
        /**
         * 代码表数据
         *
         * @memberof GanttControlBase
         */
        this.codeListData = new Map();
    }
    /**
     * 监听静态参数变化
     *
     * @param {*} newVal
     * @param {*} oldVal
     * @memberof GanttControlBase
     */
    async ctrlModelInit() {
        super.ctrlModelInit();
        if (!(this.Environment && this.Environment.isPreviewMode)) {
            this.service = new AppGanttService(this.controlInstance, this.context);
        }
        await this.initColumnsCodeList();
        this.initOptions();
    }
    /**
     * 初始化甘特图部件配置参数
     *
     * @memberof GanttControlBase
     */
    initOptions() {
        var _a;
        const treeColumns = this.controlInstance.getPSDETreeColumns() || [];
        if ((treeColumns === null || treeColumns === void 0 ? void 0 : treeColumns.length) > 0) {
            let tempOptions = [];
            treeColumns.forEach((column) => {
                var _a, _b, _c, _d, _e;
                const name = column.name == "begin" ? "start" : column.name;
                let option = {
                    label: this.$tl((_a = column.getCapPSLanguageRes()) === null || _a === void 0 ? void 0 : _a.lanResTag, column === null || column === void 0 ? void 0 : column.caption),
                    value: name,
                    render: (task) => {
                        if (column === null || column === void 0 ? void 0 : column.getRenderPSSysPFPlugin()) {
                            let plugin = column.getRenderPSSysPFPlugin();
                            const pluginInstance = this.PluginFactory.getPluginInstance("CONTROLITEM", plugin.pluginCode);
                            if (pluginInstance) {
                                return pluginInstance.renderCtrlItem(this.$createElement, column, this, task);
                            }
                        }
                        else {
                            return this.getColumnValue(task, name);
                        }
                    },
                    width: column.width && column.width > 0 ? column.width : 100,
                };
                if (column.name == "text") {
                    option["expander"] = true;
                }
                if (column.hideDefault) {
                    option["hidden"] = true;
                }
                if ((_b = column.getHeaderPSSysCss()) === null || _b === void 0 ? void 0 : _b.cssName) {
                    option["headerCls"] = (_c = column.getHeaderPSSysCss()) === null || _c === void 0 ? void 0 : _c.cssName;
                }
                if ((_d = column.getCellPSSysCss()) === null || _d === void 0 ? void 0 : _d.cssName) {
                    option["cellCls"] = (_e = column.getCellPSSysCss()) === null || _e === void 0 ? void 0 : _e.cssName;
                }
                tempOptions.push(option);
            });
            if (tempOptions) {
                this.options.taskList.columns = [...tempOptions];
            }
        }
        else {
            const majorField = ModelTool.getAppEntityMajorField(this.controlInstance.getPSAppDataEntity());
            this.options.taskList.columns = [{
                    label: majorField ? this.$tl((_a = majorField.getLNPSLanguageRes()) === null || _a === void 0 ? void 0 : _a.lanResTag, majorField.logicName) : this.$t('app.commonwords.srfmajortext'),
                    value: 'srfmajortext',
                    width: 100,
                    render: (task) => {
                        return task['srfmajortext'];
                    }
                }];
        }
    }
    /**
     * 初始化列代码表
     *
     * @public
     * @memberof GanttControlBase
     */
    async initColumnsCodeList() {
        let _this = this;
        this.codeListData = new Map();
        this.codeListService = new CodeListServiceBase({ $store: _this.$store });
        const treeNodes = this.controlInstance.getPSDETreeNodes() || [];
        for (let i = 0; i < treeNodes.length; i++) {
            const dataItems = treeNodes[i].getPSDETreeNodeDataItems();
            if (dataItems && dataItems.length > 0) {
                for (let j = 0; j < dataItems.length; j++) {
                    const dataItem = dataItems[j];
                    if (dataItem.getFrontPSCodeList && dataItem.getFrontPSCodeList()) {
                        const codelistJson = dataItem.getFrontPSCodeList();
                        await (codelistJson === null || codelistJson === void 0 ? void 0 : codelistJson.fill());
                        if (codelistJson) {
                            let items = await this.codeListService.getDataItems({ type: codelistJson.codeListType, tag: codelistJson.codeName, data: codelistJson, context: this.context });
                            this.codeListData.set(dataItem.name, items);
                        }
                    }
                }
            }
        }
    }
    /**
     * 部件初始化
     *
     * @public
     * @memberof GanttControlBase
     */
    ctrlInit() {
        super.ctrlInit();
        //TODO  国际化暂未支持
        let that = this;
        that.locale = that.$i18n.locale;
        this.updateOptions();
    }
    viewStateAction(tag, action, data) {
        if (!Object.is(tag, this.name)) {
            return;
        }
        super.viewStateAction(tag, action, data);
        if (Object.is('load', action)) {
            this.load(data);
        }
    }
    /**
     * 加载数据
     *
     *
     * @param {*} [task={}] 节点数据
     * @memberof GanttControlBase
     */
    load(task = {}, isRefresh = false) {
        const params = {
            srfnodeid: task && task.id ? task.id : "#",
            srfnodefilter: ''
        };
        let tempViewParams = Util.deepCopy(this.viewparams);
        let curNode = {};
        Util.deepObjectMerge(curNode, task);
        let tempContext = this.computecurNodeContext(curNode);
        if (curNode && curNode.srfparentdename) {
            Object.assign(tempContext, { srfparentdename: curNode.srfparentdename });
            Object.assign(tempViewParams, { srfparentdename: curNode.srfparentdename });
        }
        if (curNode && curNode.srfparentdemapname) {
            Object.assign(tempContext, { srfparentdemapname: curNode.srfparentdemapname });
            Object.assign(tempViewParams, { srfparentdemapname: curNode.srfparentdemapname });
        }
        if (curNode && curNode.srfparentkey) {
            Object.assign(tempContext, { srfparentkey: curNode.srfparentkey });
            Object.assign(tempViewParams, { srfparentkey: curNode.srfparentkey });
        }
        Object.assign(params, { viewparams: tempViewParams });
        this.onControlRequset('load', tempContext, params);
        this.service.getNodes(tempContext, params).then((response) => {
            this.onControlResponse('load', response);
            if (!response || response.status !== 200) {
                this.$throw(response, 'load');
                return;
            }
            if (isRefresh) {
                this.tasks = [...response.data];
            }
            else {
                this.tasks = [...this.tasks, ...response.data];
            }
            response.data.forEach((item) => {
                if (!item.collapsed) {
                    this.load(item);
                }
            });
            this.ctrlEvent({
                controlname: this.name,
                action: 'load',
                data: this.tasks,
            });
        }).catch((response) => {
            this.onControlResponse('load', response);
            this.$throw(response, 'load');
        });
    }
    /**
     * 刷新功能
     *
     * @param {*} [args] 额外参数
     * @memberof GanttControlBase
     */
    refresh(args) {
        this.load({}, true);
    }
    /**
     * 节点点击事件
     *
     * @param {{event: any, data: any}} {event, data} 事件源，节点数据
     * @memberof GanttControlBase
     */
    taskClick({ event, data }) {
        var _a;
        let logicTag = ((_a = data.id.split(';')[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()) + '_opendata';
        this.ganttOpendata([data], logicTag);
    }
    /**
     * 节点展开事件
     *
     * @param {*} task 当前节点
     * @memberof GanttControlBase
     */
    taskItemExpand(task) {
        if (!task.collapsed) {
            let index = this.tasks.findIndex((item) => Object.is(task.id, item.parentId));
            if (index < 0) {
                this.load(task);
            }
        }
    }
    /**
     * 计算当前节点的上下文
     *
     * @param {*} curNode 当前节点
     * @memberof GanttControlBase
     */
    computecurNodeContext(curNode) {
        let tempContext = {};
        if (curNode && curNode.srfappctx) {
            tempContext = Util.deepCopy(curNode.srfappctx);
        }
        else {
            tempContext = Util.deepCopy(this.context);
        }
        return tempContext;
    }
    /**
     * 获取列属性值
     *
     * @public
     * @memberof GanttControlBase
     */
    getColumnValue(task, field) {
        var _a;
        const treeNodes = this.controlInstance.getPSDETreeNodes() || [];
        const node = treeNodes === null || treeNodes === void 0 ? void 0 : treeNodes.find((_node) => {
            return task.id.split(";")[0] == _node.nodeType;
        });
        const dataItems = (node === null || node === void 0 ? void 0 : node.getPSDETreeNodeDataItems()) || [];
        if ((dataItems === null || dataItems === void 0 ? void 0 : dataItems.length) > 0) {
            const dataItem = dataItems.find((_item) => {
                return _item.name == field;
            });
            if (dataItem) {
                const codelistData = (_a = this.codeListData) === null || _a === void 0 ? void 0 : _a.get(dataItem.name);
                if (codelistData) {
                    const item = codelistData.find((item) => {
                        return item.value == task[field];
                    });
                    if (item) {
                        return item.text;
                    }
                }
            }
        }
        return task[field];
    }
    /**
     * 更新部件参数
     *
     * @returns {any}
     * @memberof GanttControlBase
     */
    updateOptions() {
        if (Object.is(this.locale, 'zh-CN')) {
            this.options.locale = this.localeZH;
        }
        else {
            this.options.locale = this.localeEN;
        }
    }
    /**
     * 打开编辑数据视图
     *
     * @param {any[]} args 数据参数
     * @param {*} [fullargs] 全量参数
     * @param {*} [params]  额外参数
     * @param {*} [$event] 事件源数据
     * @param {*} [xData] 数据部件
     * @memberof GanttControlBase
     */
    async ganttOpendata(args, logicTag, fullargs, params, $event, xData) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
        const openAppViewLogic = (_a = this.controlInstance.getPSAppViewLogics()) === null || _a === void 0 ? void 0 : _a.find((item) => {
            return item.name == logicTag;
        });
        if (!openAppViewLogic || !openAppViewLogic.getPSAppUILogic()) {
            return;
        }
        let viewOpenAppUIlogic = openAppViewLogic.getPSAppUILogic();
        if (viewOpenAppUIlogic && ((_b = viewOpenAppUIlogic === null || viewOpenAppUIlogic === void 0 ? void 0 : viewOpenAppUIlogic.getParentPSModelObject()) === null || _b === void 0 ? void 0 : _b.M.viewType)) {
            // todo
        }
        if (viewOpenAppUIlogic === null || viewOpenAppUIlogic === void 0 ? void 0 : viewOpenAppUIlogic.getOpenDataPSAppView()) {
            const openViewRef = viewOpenAppUIlogic.getOpenDataPSAppView();
            const data = {};
            let tempContext = Util.deepCopy(this.context);
            // 准备参数
            if (args.length > 0) {
                Object.assign(tempContext, args[0]);
            }
            if ((openViewRef === null || openViewRef === void 0 ? void 0 : openViewRef.getPSNavigateContexts()) &&
                ((_c = openViewRef === null || openViewRef === void 0 ? void 0 : openViewRef.getPSNavigateContexts()) === null || _c === void 0 ? void 0 : _c.length) > 0) {
                const localContext = Util.formatNavParam(openViewRef.getPSNavigateContexts());
                let _context = Util.computedNavData(fullargs[0], this.context, this.viewparams, localContext);
                Object.assign(tempContext, _context);
            }
            if ((openViewRef === null || openViewRef === void 0 ? void 0 : openViewRef.getPSNavigateParams()) &&
                ((_d = openViewRef.getPSNavigateParams()) === null || _d === void 0 ? void 0 : _d.length) > 0) {
                const localViewParam = Util.formatNavParam(openViewRef.getPSNavigateParams());
                let _param = Util.computedNavData(fullargs[0], this.context, this.viewparams, localViewParam);
                Object.assign(data, _param);
            }
            if (fullargs &&
                fullargs.length > 0 &&
                fullargs[0]['srfprocessdefinitionkey'] &&
                fullargs[0]['srftaskdefinitionkey']) {
                Object.assign(data, { processDefinitionKey: fullargs[0]['srfprocessdefinitionkey'] });
                Object.assign(data, { taskDefinitionKey: fullargs[0]['srftaskdefinitionkey'] });
                // 将待办任务标记为已读准备参数
                const that = this;
                if (that.quickGroupData && that.quickGroupData.hasOwnProperty('srfwf') && fullargs[0]['srftaskid']) {
                    Object.assign(data, { srfwf: that.quickGroupData['srfwf'] });
                    Object.assign(data, { srftaskid: fullargs[0]['srftaskid'] });
                }
            }
            let deResParameters = [];
            let parameters = [];
            const openView = openViewRef.getRefPSAppView();
            if (!openView)
                return;
            await openView.fill();
            if (openView.getPSAppDataEntity()) {
                // 处理视图关系参数 （只是路由打开模式才计算）
                if (!openView.openMode || openView.openMode == 'INDEXVIEWTAB' || openView.openMode == 'POPUPAPP') {
                    deResParameters = Util.formatAppDERSPath(tempContext, openView.getPSAppDERSPaths());
                }
            }
            if (!(openView === null || openView === void 0 ? void 0 : openView.openMode) || openView.openMode == 'INDEXVIEWTAB') {
                if (openView.getPSAppDataEntity()) {
                    parameters = [
                        {
                            pathName: Util.srfpluralize((_e = openView.getPSAppDataEntity()) === null || _e === void 0 ? void 0 : _e.codeName).toLowerCase(),
                            parameterName: (_f = openView.getPSAppDataEntity()) === null || _f === void 0 ? void 0 : _f.codeName.toLowerCase(),
                        },
                        {
                            pathName: 'views',
                            parameterName: openView.getPSDEViewCodeName().toLowerCase(),
                        },
                    ];
                }
                else {
                    parameters = [{ pathName: 'views', parameterName: (_g = openView.name) === null || _g === void 0 ? void 0 : _g.toLowerCase() }];
                }
            }
            else {
                if (openView === null || openView === void 0 ? void 0 : openView.getPSAppDataEntity()) {
                    parameters = [
                        {
                            pathName: (_j = Util.srfpluralize((_h = openView.getPSAppDataEntity()) === null || _h === void 0 ? void 0 : _h.codeName)) === null || _j === void 0 ? void 0 : _j.toLowerCase(),
                            parameterName: (_l = (_k = openView.getPSAppDataEntity()) === null || _k === void 0 ? void 0 : _k.codeName) === null || _l === void 0 ? void 0 : _l.toLowerCase(),
                        },
                    ];
                }
                if (openView && openView.modelPath) {
                    Object.assign(tempContext, { viewpath: openView.modelPath });
                }
            }
            // 关闭视图回调
            let callback = (result, xData) => {
                if (!result || !Object.is(result.ret, 'OK')) {
                    return;
                }
                if (!xData || !(xData.refresh instanceof Function)) {
                    return;
                }
                xData.refresh(result.datas);
            };
            // 重定向视图
            if (openView === null || openView === void 0 ? void 0 : openView.redirectView) {
                let targetRedirectView = openView;
                await targetRedirectView.fill();
                if (targetRedirectView.getRedirectPSAppViewRefs() &&
                    ((_m = targetRedirectView.getRedirectPSAppViewRefs()) === null || _m === void 0 ? void 0 : _m.length) === 0) {
                    return;
                }
                const redirectUIService = await UIServiceRegister.getService(this.context, (_o = ModelTool.getViewAppEntityCodeName(targetRedirectView)) === null || _o === void 0 ? void 0 : _o.toLowerCase());
                await redirectUIService.loaded();
                const redirectAppEntity = targetRedirectView.getPSAppDataEntity();
                await ViewTool.calcRedirectContext(tempContext, fullargs[0], redirectAppEntity);
                redirectUIService.getRDAppView(tempContext, args[0][this.appDeCodeName.toLowerCase()], params)
                    .then(async (result) => {
                    var _a, _b, _c, _d, _e, _f, _g;
                    if (!result) {
                        return;
                    }
                    if (result.isError) {
                        const data = (_a = result === null || result === void 0 ? void 0 : result.response) === null || _a === void 0 ? void 0 : _a.data;
                        this.$throw((data === null || data === void 0 ? void 0 : data.messages) ? data.messages : this.$t('components.500.errortext1'));
                        return;
                    }
                    let targetOpenViewRef = (_b = targetRedirectView.getRedirectPSAppViewRefs()) === null || _b === void 0 ? void 0 : _b.find((item) => {
                        return item.name === result.param.split(':')[0];
                    });
                    if (!targetOpenViewRef) {
                        return;
                    }
                    if (targetOpenViewRef.getPSNavigateContexts() &&
                        targetOpenViewRef.getPSNavigateContexts().length > 0) {
                        let localContextRef = Util.formatNavParam(targetOpenViewRef.getPSNavigateContexts(), true);
                        let _context = Util.computedNavData(fullargs[0], tempContext, data, localContextRef);
                        Object.assign(tempContext, _context);
                    }
                    if (result && result.hasOwnProperty('srfsandboxtag')) {
                        Object.assign(tempContext, { 'srfsandboxtag': result['srfsandboxtag'] });
                        Object.assign(data, { 'srfsandboxtag': result['srfsandboxtag'] });
                    }
                    let targetOpenView = targetOpenViewRef.getRefPSAppView();
                    if (!targetOpenView) {
                        return;
                    }
                    await targetOpenView.fill();
                    const view = {
                        viewname: 'app-view-shell',
                        height: targetOpenView.height,
                        width: targetOpenView.width,
                        title: this.$tl((_c = targetOpenView.getCapPSLanguageRes()) === null || _c === void 0 ? void 0 : _c.lanResTag, targetOpenView.caption),
                    };
                    if (!targetOpenView.openMode || targetOpenView.openMode == 'INDEXVIEWTAB') {
                        if (targetOpenView.getPSAppDataEntity()) {
                            deResParameters = Util.formatAppDERSPath(tempContext, targetOpenView.getPSAppDERSPaths());
                            parameters = [
                                {
                                    pathName: Util.srfpluralize((_d = targetOpenView.getPSAppDataEntity()) === null || _d === void 0 ? void 0 : _d.codeName).toLowerCase(),
                                    parameterName: (_e = targetOpenView.getPSAppDataEntity()) === null || _e === void 0 ? void 0 : _e.codeName.toLowerCase(),
                                },
                                {
                                    pathName: 'views',
                                    parameterName: targetOpenView.getPSDEViewCodeName().toLowerCase(),
                                },
                            ];
                        }
                        else {
                            parameters = [
                                {
                                    pathName: targetOpenView.codeName.toLowerCase(),
                                    parameterName: targetOpenView.codeName.toLowerCase(),
                                },
                            ];
                        }
                    }
                    else {
                        if (targetOpenView.getPSAppDataEntity()) {
                            parameters = [
                                {
                                    pathName: Util.srfpluralize((_f = targetOpenView.getPSAppDataEntity()) === null || _f === void 0 ? void 0 : _f.codeName).toLowerCase(),
                                    parameterName: (_g = targetOpenView.getPSAppDataEntity()) === null || _g === void 0 ? void 0 : _g.codeName.toLowerCase(),
                                },
                            ];
                        }
                        if (targetOpenView && targetOpenView.modelPath) {
                            Object.assign(tempContext, { viewpath: targetOpenView.modelPath });
                        }
                    }
                    this.openTargtView(targetOpenView, view, tempContext, data, xData, $event, deResParameters, parameters, args, callback);
                });
            }
            else {
                if (fullargs && fullargs.copymode) {
                    Object.assign(data, { copymode: true });
                }
                let view = {
                    viewname: 'app-view-shell',
                    height: openView.height,
                    width: openView.width,
                    title: this.$tl((_p = openView.getCapPSLanguageRes()) === null || _p === void 0 ? void 0 : _p.lanResTag, openView.caption),
                };
                this.openTargtView(openView, view, tempContext, data, xData, $event, deResParameters, parameters, args, callback);
            }
        }
        else {
            this.$warning(this.$t('app.nosupport.unassign'), 'ganttOpendata');
        }
    }
    /**
     * 监听语言变化
     *
     * @public
     * @memberof GanttControlBase
     */
    onLocaleChange(newval, val) {
        if (newval != val) {
            this.locale = newval;
            this.updateOptions();
        }
    }
    /**
     * 打开目标视图
     *
     * @param {*} openView 目标视图模型对象
     * @param {*} view 视图对象
     * @param {*} tempContext 临时上下文
     * @param {*} data 数据
     * @param {*} xData 数据部件实例
     * @param {*} $event 事件源
     * @param {*} deResParameters
     * @param {*} parameters
     * @param {*} args 额外参数
     * @param {Function} callback 回调
     * @memberof GanttControlBase
     */
    openTargtView(openView, view, tempContext, data, xData, $event, deResParameters, parameters, args, callback) {
        const _this = this;
        if (!(openView === null || openView === void 0 ? void 0 : openView.openMode) || openView.openMode == 'INDEXVIEWTAB') {
            if (tempContext.srfdynainstid) {
                Object.assign(data, { srfdynainstid: tempContext.srfdynainstid });
            }
            const routePath = ViewTool.buildUpRoutePath(_this.$route, tempContext, deResParameters, parameters, args, data);
            _this.$router.push(routePath);
        }
        else if (openView.openMode == 'POPUPAPP') {
            const routePath = ViewTool.buildUpRoutePath(_this.$route, tempContext, deResParameters, parameters, args, data);
            window.open('./#' + routePath, '_blank');
        }
        else if (openView.openMode == 'POPUPMODAL') {
            // 打开模态
            let container = _this.$appmodal.openModal(view, tempContext, data);
            container.subscribe((result) => {
                if (!result || !Object.is(result.ret, 'OK')) {
                    return;
                }
                callback(result, xData);
            });
        }
        else if (openView.openMode.indexOf('DRAWER') !== -1) {
            // 打开抽屉
            if (Object.is(openView.openMode, 'DRAWER_TOP')) {
                Object.assign(view, { isfullscreen: true });
                let container = _this.$appdrawer.openTopDrawer(view, Util.getViewProps(tempContext, data));
                container.subscribe((result) => {
                    callback(result, xData);
                });
            }
            else {
                Object.assign(view, { placement: openView.openMode });
                let container = _this.$appdrawer.openDrawer(view, Util.getViewProps(tempContext, data));
                container.subscribe((result) => {
                    callback(result, xData);
                });
            }
        }
        else if (openView.openMode == 'POPOVER') {
            // 打开气泡卡片
            Object.assign(view, { placement: openView.openMode });
            let container = _this.$apppopover.openPop($event, view, tempContext, data);
            container.subscribe((result) => {
                callback(result, xData);
            });
        }
        else {
            this.$warning(`${openView.title}` + this.$t('app.nosupport.unopen'), 'openTargtView');
        }
    }
}
__decorate([
    Watch('$i18n.locale')
], GanttControlBase.prototype, "onLocaleChange", null);
