ming-demo3
Version:
mdf metaui web
263 lines (222 loc) • 8.32 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.metaInit = metaInit;
exports.addItem = addItem;
exports.delItem = delItem;
exports.destroy = destroy;
exports.firstItem = firstItem;
exports.refreshItem = refreshItem;
exports.updateItem = updateItem;
exports.getWebUrl = getWebUrl;
exports.doAsyncImport = doAsyncImport;
exports["default"] = void 0;
var _immutable = _interopRequireDefault(require("immutable"));
var _util = require("@mdf/cube/lib/helpers/util");
var activeKeyObj = {};
var $$initialState = _immutable["default"].fromJS({
tabs: {},
asyncImportArr: {}
});
var _default = function _default() {
var $$state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : $$initialState;
var action = arguments.length > 1 ? arguments[1] : undefined;
console.log('action11', action);
switch (action.type) {
case 'PLATFORM_UI_TAB_DOASYNCIMPORT':
return $$state.merge({
asyncImportArr: action.payload.asyncImportArr
});
case 'PLATFORM_UI_META_WRAPPER_TAB_INIT':
activeKeyObj[action.payload.key] = 0;
var items1 = $$state.get('tabs').toJS();
items1[action.payload.key] = {
panes: [],
updateTitle: action.payload.updateTitle,
activeKey: action.payload.key + '0'
};
return $$state.set('tabs', _immutable["default"].fromJS(items1));
case 'PLATFORM_UI_META_WRAPPER_TAB_ADD':
var items2 = $$state.get('tabs').toJS();
if (action.payload.data.params && action.payload.data.params.refresh) {
var _panes = items2[action.payload.key].panes;
_panes[_panes.length - 1].content = action.payload.data.content;
return $$state.set('tabs', _immutable["default"].fromJS(items2));
}
if (action.payload.data.params && action.payload.data.params.override) {
var _panes2 = items2[action.payload.key].panes;
_panes2.splice(_panes2.length - 1, 1);
}
var key = activeKeyObj[action.payload.key] + 1;
activeKeyObj[action.payload.key] = key;
if (!action.payload.data.content.delay) items2[action.payload.key].activeKey = action.payload.key + key.toString();
items2[action.payload.key].activeTitle = action.payload.data.title;
if (items2[action.payload.key].updateTitle) window.jDiwork.updateService(cb.rest.AppContext.query.serviceCode, {
title: action.payload.data.title
});
action.payload.data.key = action.payload.key + key.toString();
items2[action.payload.key].panes.push(action.payload.data);
return $$state.set('tabs', _immutable["default"].fromJS(items2));
case 'PLATFORM_UI_META_WRAPPER_TAB_DEL':
var items3 = $$state.get('tabs').toJS();
var panes = items3[action.payload.key].panes;
if (action.payload.data && action.payload.data.refresh) {
delete panes[panes.length - 1].content;
return $$state.set('tabs', _immutable["default"].fromJS(items3));
}
panes.splice(panes.length - 1, 1);
if (panes.length) {
items3[action.payload.key].activeKey = panes[panes.length - 1].key;
items3[action.payload.key].activeTitle = panes[panes.length - 1].title;
if (items3[action.payload.key].updateTitle) window.jDiwork.updateService(cb.rest.AppContext.query.serviceCode, {
title: panes[panes.length - 1].title
});
if (action.payload.data && action.payload.data.refreshData) panes[panes.length - 1].content && panes[panes.length - 1].content.vm && panes[panes.length - 1].content.vm.execute('back');
}
return $$state.set('tabs', _immutable["default"].fromJS(items3));
case 'PLATFORM_UI_META_WRAPPER_TAB_DESTROY':
var items4 = $$state.get('tabs').toJS();
delete items4[action.payload.key];
return $$state.set('tabs', _immutable["default"].fromJS(items4));
case 'PLATFORM_UI_META_WRAPPER_TAB_FIRST':
var items5 = $$state.get('tabs').toJS();
var panes1 = items5[action.payload.key].panes;
panes1.splice(1, panes1.length - 1);
if (!panes1.length) return $$state;
items5[action.payload.key].activeKey = panes1[0].key;
items5[action.payload.key].activeTitle = panes1[0].title;
return $$state.set('tabs', _immutable["default"].fromJS(items5));
case 'PLATFORM_UI_META_WRAPPER_TAB_REFRESH':
var items6 = $$state.get('tabs').toJS();
var panes2 = items6[action.payload.key].panes;
panes2[panes2.length - 1].caption = action.payload.caption;
panes2[panes2.length - 1].callback = action.payload.callback;
return $$state.set('tabs', _immutable["default"].fromJS(items6));
case 'PLATFORM_UI_META_WRAPPER_TAB_UPDATE':
var items7 = $$state.get('tabs').toJS();
var panes3 = items7[action.payload.key].panes;
items7[action.payload.key].activeKey = panes3[panes3.length - 1].key;
if (action.payload.data && action.payload.data.title) {
panes3[panes3.length - 1].title = action.payload.data.title;
items7[action.payload.key].activeTitle = action.payload.data.title;
if (items7[action.payload.key].updateTitle) window.jDiwork.updateService(cb.rest.AppContext.query.serviceCode, {
title: action.payload.data.title
});
}
return $$state.set('tabs', _immutable["default"].fromJS(items7));
default:
return $$state;
}
};
exports["default"] = _default;
function metaInit(key, data) {
console.log('data2', data);
return function (dispatch) {
dispatch((0, _util.genAction)('PLATFORM_UI_META_WRAPPER_TAB_INIT', {
key: key,
updateTitle: data.updateTitle
}));
dispatch(addItem(key, data));
};
}
function addItem(key, data) {
return function (dispatch) {
dispatch((0, _util.genAction)('PLATFORM_UI_META_WRAPPER_TAB_ADD', {
key: key,
data: data
}));
};
}
function delItem(key, data) {
return function (dispatch) {
dispatch((0, _util.genAction)('PLATFORM_UI_META_WRAPPER_TAB_DEL', {
key: key,
data: data
}));
};
}
function destroy(key) {
return function (dispatch) {
dispatch((0, _util.genAction)('PLATFORM_UI_META_WRAPPER_TAB_DESTROY', {
key: key
}));
};
}
function firstItem(key) {
return function (dispatch) {
dispatch((0, _util.genAction)('PLATFORM_UI_META_WRAPPER_TAB_FIRST', {
key: key
}));
};
}
function refreshItem(key, caption, callback) {
return function (dispatch) {
dispatch((0, _util.genAction)('PLATFORM_UI_META_WRAPPER_TAB_REFRESH', {
key: key,
caption: caption,
callback: callback
}));
};
}
function updateItem(key, data) {
return function (dispatch) {
dispatch((0, _util.genAction)('PLATFORM_UI_META_WRAPPER_TAB_UPDATE', {
key: key,
data: data
}));
};
}
function getWebUrl(domain, path) {
return new Promise(function (resolve, reject) {
var config = {
url: 'menu/geturl.do',
method: 'GET',
params: {
srv: domain || 'upcUrl',
url: path
}
};
(0, _util.proxy)(config).then(function (json) {
if (json.code !== 200) {
cb.utils.alert(json.message, 'error');
reject(json.message);
return;
}
resolve(json.data);
});
});
}
function doAsyncImport(payload) {
return function (dispatch, getState) {
var asyncImportArr = getState().portal.toJS().asyncImportArr || {};
var asyncKey = payload.asyncKey;
var percentage = payload.percentage;
if (asyncKey) {
if (payload.bDelTask) {
if (asyncImportArr[asyncKey]) {
delete asyncImportArr[asyncKey];
}
} else if (asyncImportArr[asyncKey]) {
asyncImportArr[asyncKey] = payload;
if (percentage >= 100) {
var tmp = _.filter(asyncImportArr, function (o) {
return o.percentage < 100;
});
if (tmp.length == 0) {
asyncImportArr = {};
}
}
} else {
if (percentage < 100) {
asyncImportArr[asyncKey] = payload;
}
}
}
dispatch((0, _util.genAction)('PLATFORM_UI_TAB_DOASYNCIMPORT', {
asyncImportArr: asyncImportArr
}));
};
}
//# sourceMappingURL=portal.js.map
;